In a traditional bar code scanner, a laser beam is scanned along a predetermined distance and reflections of the laser beam are detected and analyzed. Where the scanning apparatus is controlled by a gate, e.g. a photo-interrupter, and is activated only when objects with a bar code are presumed present, it is only necessary for the circuitry to record data during the gating, and then process the recorded data at some later time. This is generally done by converting the analog output of a photo-sensor that detects the reflected laser beam, to a digital signal representing the edges of the bars of a bar code, and recording the digital data when commanded by the gating circuitry. The edges and their distances yield characters, and those characters can be compared to all possible characters in a table to determine what characters are represented by each portion of the bar code.
In most applications, a bar code is present only a minority of the time, while non bar code markings are present the rest of the time. In that case, if the output from the photo-sensor is converted to digital data and all of it is analyzed, then most of the time the analysis will indicate no bar code corresponding to those in the lookup table. Considerable time is wasted in making a detailed analysis of all data. Even worse, the analysis can erroneously detect a bar code and locate a table entry representing a character that is not present.
In a bar code verifier, it is necessary in many cases to detect the presence of a bar code without the aid of a gating device. In this case, the device must determine the presence of a bar code by a self-locking means and must process the data in real time. Additionally, the reflectance profile of any scanned object contains a change in the intensity over the scan path. This requires a mechanism in which gating can be done by intensity, and by the transition density.
A verifier must not report bar code data that could be erroneous. It also must provide data pertaining to the quality of the printing as per ANSI X3.182-1990 methods. This methodology requires that data is processed digitally with gathered analog reflectance data from the photo-sensor.
A verifier must, as a consequence of its applications, process much more data than an equivalent scanner. Considerable time is required to convert the analog output of the photo-sensor to digital form, and to compare a sequence of numbers representing the transitions in reflection to a lookup table to determine if a legitimate bar code character is present. If a legitimate bar code is present, the verifier must determine what that character is and what is the quality of printing of that character.
A system that more rapidly and accurately discriminates between reflections representing a bar code and those that do not represent a bar code would enable more rapid and accurate scanning. Rapid scanning is necessary for a verifier that scans each bar code a plurality of times to determine how close to the xe2x80x9cstandardsxe2x80x9d the bar code is. That is, to determine whether maximum and minimum reflectances are within acceptable ranges, and to avoid wasting time analyzing areas that do not contain bar codes. It is especially important for a verifier to avoid misinterpreting areas that do not contain bar codes, as bar codes, and to not give the bar code a lower qualifying grade because of scanning related problems as opposed to printing related problems.
In accordance with one embodiment of the present invention, an apparatus is provided for scanning a bar code, which enables rapid analysis of reflections of a laser beam scan line portion to determine whether or not a complete bar code is likely to be present along the scan line. The apparatus includes a circuit that records transitions of at least a predetermined magnitude, of light detected by a photodetector, and that generates a signal indicating that a bar code is not present in an area that begins with a first transition, and that does not have a subsequent transition within a predetermined distance along the scan line following the first transition. The circuit for detecting transitions and the time between them can be implemented in an analog circuit or in software using sparse data, e.g. every 4 or 8 samples. The use of one of these techniques enables more rapid analysis.
The apparatus for detecting the presence of bar codes can include a circuit that generates signals representing a MAX value and a MIN value and that generates a signal representing MAX minus MIN. If MAX minus MIN drops below a predetermined noise level, then this indicates that a bar code is not present in the area from the beginning of a scan line or from a first transition, to the time when MAX minus MIN decreases below the noise level. MAX continually decreases, but suddenly increases to the level of any high reflectance, while MIN continually increases, but suddenly decreases to the level of any low reflectance. The circuit for establishing MAX and MIN and analyzing it is implemented in an analog circuit, or as equations in a field programmable gate array, or in software using sparse data, e.g. every 4 or 8 samples for rapid analysis.
The circuit also includes a section that counts the number of transitions and the length of the scan region. If there is not a predetermined number of transitions, such as 17, within the scan length, such as 2 cm, then that scan region is determined to not contain a bar code. The count can begin every time a new transition is detected.
The novel features of the invention are set forth with particularity in the appended claims. The invention will be best understood from the following description when read in conjunction with the accompanying drawings.